草庐IT

Java AES CBC解密

全部标签

FFmpeg Mp4加解密

基础知识通过FFmpeg解封装或者封装Mp4容器时,可以进行解密或者加密,这是MP4容器提供的能力。libavformat/movenc.c:提供了mov、3gp、mp4、psp、3g2、ipod、ismv和f4v的Muxer。libavformat/mov.c:提供了mov、mp4、m4a、3gp、3g2和mj2的Demuxer。针对加密,libavformat/movenc.c提供了三个参数:{"encryption_scheme","Configurestheencryptionscheme,allowedvaluesarenone,cenc-aes-ctr",offsetof(MOVM

终于把前后端sm加解密以及加签验证调通了。

终于把前后端sm加解密以及加签验证调通了! 领导要求我对项目的数据传输安全考虑下,因此就想到了对敏感字段做加密和对请求、响应做数字签名验证。网上看了很多文章,可能是因为我对加密这块不了解,感觉都比较乱。所以前前后后花了4天才把前后端调通。特地写一篇文章记录下流程。这里使用的是sm国密算法。不对的地方请读者评论指出。1.简单说明:前端使用sm-crypto库后端加密库使用bc库,架构上使用aop,注解等实现2.具体实现-前端加密流程:生成一个对称密钥,对每个字段使用sm4对称加密,然后进行base64编码。对称密钥使用sm2非对称加密//生成对称密钥exportfunctiongenSM4Sym

c# - iOS 和 Android 中的 AES 加密,以及 C#.NET 中的解密

第一件事。前段时间,我需要在Android中使用简单的AES加密来加密密码,并将其作为参数发送给解密密码的.netWeb服务。以下是我的安卓加密方式:privatestaticStringEncrypt(Stringtext,Stringkey)throwsException{Ciphercipher=Cipher.getInstance("AES/CBC/PKCS5Padding");byte[]keyBytes=newbyte[16];byte[]b=key.getBytes("UTF-8");intlen=b.length;if(len>keyBytes.length)len=k

c# - iOS 和 Android 中的 AES 加密,以及 C#.NET 中的解密

第一件事。前段时间,我需要在Android中使用简单的AES加密来加密密码,并将其作为参数发送给解密密码的.netWeb服务。以下是我的安卓加密方式:privatestaticStringEncrypt(Stringtext,Stringkey)throwsException{Ciphercipher=Cipher.getInstance("AES/CBC/PKCS5Padding");byte[]keyBytes=newbyte[16];byte[]b=key.getBytes("UTF-8");intlen=b.length;if(len>keyBytes.length)len=k

解密Docker容器网络

一个Linux容器能看见的“网络栈”,被隔离在它自己的NetworkNamespace中。1“网络栈”的内容网卡(NetworkInterface)回环设备(LoopbackDevice)路由表(RoutingTable)iptables规则对于一个进程,这些构成它发起、响应网络请求的基本环境。作为一个容器,它可声明直接使用宿主机的网络栈(–net=host),即不开启NetworkNamespace,如:$dockerrun–d–net=host--namenginx-hostnginx这容器启动后,直接监听的就是宿主机80端口。这种直接使用宿主机网络栈,虽可为容器提供良好网络性能,但也引入

基于Mybatis-Plus拦截器实现MySQL数据加解密

一、背景用户的一些敏感数据,例如手机号、邮箱、身份证等信息,在数据库以明文存储时会存在数据泄露的风险,因此需要进行加密,但存储数据再被取出时,需要进行解密,因此加密算法需要使用对称加密算法。常用的对称加密算法有AES、DES、RC、BASE64等等,各算法的区别与优劣请自行百度。本案例采用AES算法对数据进行加密。 ​​​​​​​二、MybatisPlus拦截器介绍本文基于SpringBoot+MybatisPlus(3.5.X)+MySQL8架构,Dao层与DB中间使用MP的拦截器机制,对数据存取过程进行拦截,实现数据的加解密操作。三、使用方法该加解密拦截器功能在wutong-base-da

【加解密】前后端接口交互使用AES加解密

【开发背景】接口数据加解密是前后端分离开发非常常见的应用场景。前端:vue3+typescript+vite后端:SpringBoot【前端代码】1.安装crypto-jsnpminstallcrypto-js2.src/utils下新建secret.tsimportCryptoJSfrom'crypto-js'exportinterfaceCrypotoType{encrypt:anydecrypt:any}//默认的KEY与iv如果没有给constKEY=CryptoJS.enc.Utf8.parse('yourkeycodexxxx')constIV=CryptoJS.enc.Utf8.

【加解密】前后端接口交互使用AES加解密

【开发背景】接口数据加解密是前后端分离开发非常常见的应用场景。前端:vue3+typescript+vite后端:SpringBoot【前端代码】1.安装crypto-jsnpminstallcrypto-js2.src/utils下新建secret.tsimportCryptoJSfrom'crypto-js'exportinterfaceCrypotoType{encrypt:anydecrypt:any}//默认的KEY与iv如果没有给constKEY=CryptoJS.enc.Utf8.parse('yourkeycodexxxx')constIV=CryptoJS.enc.Utf8.

使用Hutool对AES加密解密

1.前言AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个。2.Maven环境安装dependency>groupId>cn.hutoolgroupId>artifactId>hutool-allartifactId>version>5.8.2version>dependency>3.加密模式AES加密最常用的模式就是ECB模式和CBC模式,当然还有很多其它模式,他们都属于AES加密。ECB模式和CBC模式俩者区别就是ECB不需要iv偏移量,而CBC需要。4.AES加密使用参数以下参数都是在python中使用的。秘钥必须为16字节或者16字节的倍数的字节型数据。明文必须为16字节

Java实现3DES加密解密(DESede/ECB/PKCS5Padding使用)

Java实现3DES加密解密(DESede/ECB/PKCS5Padding使用)importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.spec.SecretKeySpec;importjava.util.Base64;/***3DES加密工具类*@authorqzz*/publicclassThreeDESUtils{/***加解密统一编码方式*/privatefinalstaticStringENCODING="utf-8";/***加解密方式*/privatefinalstaticStringA